#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H

#include <QDialog>
#include <QAbstractButton>
#include <QStringList>
#include <QTranslator>

namespace Ui {
    class SettingsDialog;
}

class SettingsDialog : public QDialog
{
    Q_OBJECT

public:
    explicit SettingsDialog(QWidget *parent = 0, QTranslator *translator = 0);
    ~SettingsDialog();
    void saveSettings();

private slots:
    void on_pushButton_Apply_clicked();

    void on_pushButton_RestoreDefaults_clicked();

private:
    void getCurrentSettings();
    void fillFormWithCurrentSettings();
    void collectNewSettings();
    bool checkSettingIsInDB(QString key);
    Ui::SettingsDialog *ui;
    QList<QStringList> currentSettingsList;
    QList<QStringList> settingIsInDB;
    QList<QStringList> newSettingsList;
    bool applyInstantNow;
    QTranslator *translator;
};

#endif // SETTINGSDIALOG_H
